<%@ page import="org.codehaus.groovy.grails.commons.ConfigurationHolder" %>
<html>
<% if (ConfigurationHolder.config.terasaur.web.show_error_trace == true) { %>
    <head>
        <title>Grails Runtime Exception</title>
        <style type="text/css">
              .message {
                  border: 1px solid black;
                  padding: 5px;
                  background-color:#E9E9E9;
              }
              .stack {
                  border: 1px solid black;
                  padding: 5px;
                  overflow:auto;
                  height: 300px;
              }
              .snippet {
                  padding: 5px;
                  background-color:white;
                  border:1px solid black;
                  margin:3px;
                  font-family:courier;
              }
        </style>
    </head>
    <body>
      <h1>Grails Runtime Exception</h1>
      <h2>Error Details</h2>

      <div class="message">
          <strong>Error ${request.'javax.servlet.error.status_code'}:</strong> ${request.'javax.servlet.error.message'.encodeAsHTML()}<br/>
          <strong>Servlet:</strong> ${request.'javax.servlet.error.servlet_name'}<br/>
          <strong>URI:</strong> ${request.'javax.servlet.error.request_uri'}<br/>
          <g:if test="${exception}">
              <strong>Exception Message:</strong> ${exception.message?.encodeAsHTML()} <br />
              <strong>Caused by:</strong> ${exception.cause?.message?.encodeAsHTML()} <br />
              <strong>Class:</strong> ${exception.className} <br />
              <strong>At Line:</strong> [${exception.lineNumber}] <br />
              <strong>Code Snippet:</strong><br />
              <div class="snippet">
                  <g:each var="cs" in="${exception.codeSnippet}">
                      ${cs?.encodeAsHTML()}<br />
                  </g:each>
              </div>
          </g:if>
      </div>
      <g:if test="${exception}">
          <h2>Stack Trace</h2>
          <div class="stack">
            <pre><g:each in="${exception.stackTraceLines}">${it.encodeAsHTML()}<br/></g:each></pre>
          </div>
      </g:if>
    </body>
<% } else { %>
    <body>
       Oops, something unfortunate happened whilst handling your request.  We apologize
       for the inconvenience.
    </body>
<% } %>
</html>
